package com.sy.mapper;

import com.sy.entity.Homework;
import com.sy.entity.Notice;
import com.sy.entity.User;
import com.sy.vo.GetNoticeByConditions;
import com.sy.vo.ModifyAdminVo;

import java.util.List;
import com.sy.vo.GetNoticeByConditions;

import java.util.List;

/**
 * @author Monkey-D-Gu
 * @version 1.0
 * @date 2020/9/11 0011 17:04
 * @usage Admin相关的Mapper层
 */
public interface AdminMapper {

    /**
     * 根据用户名获取用户信息对象
     * @param username 用户名
     * @return 用户信息对象
     */
    User getUserByUsername(String username);



    /**
     * @author csd
     * @date 2020-9-14
     * 根据排序字段名 排序方式 关键字 每页的条数等信息来动态搜索公告信息
     * @param getNoticeByConditions 通过搜索条件来获取公告信息
     * @return
     */
   List<Notice> getNoticesByConditions(GetNoticeByConditions getNoticeByConditions);

    /**
     * @author csd
     * @date 2020-9-14
     * 通过公告id获取公告的具体信息
     * @param id 公告id
     * @return 公告实体
     */
   Notice getNoticeByNoticeId(Integer id);

    /**
     * @author csd
     * @date 2020-9-14
     * 上传作业：向数据库添加新增的作业内容
     * @param homework
     * @return
     */
    boolean addHomework(Homework homework);

    /**
     * @author JianBo-Sheng
     * @version 1.0
     * @date 2020/9/14 0011 11:15
     * 根据当前登入管理员的id查询密码
     * @param
     * @return 管理员密码
     */
    String getPwdByAdminId(Integer id);

    /**
     * @author JianBo-Sheng
     * @version 1.0
     * @date 2020/9/14 0011 11:15
     * 将修改后的管理员信息更新到数据库
     * @param
     * @return 用户信息对象
     */
    boolean updateAdmin(ModifyAdminVo modifyAdminVo);
}
